Python 进行数据分析时, 具有获取数据、整理数据、模型计算、数据图形化等功能, 相关 的 Python 数据分析程序包如表 所示。
程 序 包 | 简 |
---|---|
NumPy | 提供数组支持 |
SciPy | 提供矩阵支持,以及矩阵相关的数值计算,优化和统计模块 |
Pandas | 强大、灵活的数据分析和探索工具 |
Matplotlib | 强大的数据可视化工具、作图库 |
StatsModels | 统计建模和计量经济学,包括描述统计、统计模型估计和推断 |
Scikit-Learn | 支持回归、分类、聚类等的强大机器学习库 |
Keras | 深度学习库,用于建立神经网络以及深度学习模型 |
Gensim | 用来做文本主题模型的库,文本挖掘可能用到 |
Pillow | 涉及图片处理 |
OpenCV | 涉及视频处理 |
GMPY2 | 涉及高精度运算 |
Statsmodels 程序包是 Python 进行统计建模和计量经济学工具, 提供一些互 补 SciPy 统计计算的功能, 包括描述性统计、统计模型估计和推断等。主要功能特性如下。
(1) 线性回归模型: 广义最小二乘法 (generalized least squares)、普通最小二乘法 (ordinary least squares)。
(2) $glm$ : 广义线性模型。
(3) discrete: 离散变量的回归, 基于最大似然估计。
(4) rlm:稳健线性模型。
(5) tsa:时间序列分析模型
(6) nonparametric: 非参数估计。
(7) datasets:数据集合。
(8) stats:常用统计检验。
(9) iolib: 读 Stata 的.dta 格式, 输出 ascii、latex 和 html。
Statsmodels 程序包详细内容参见 https://github.com/statsmodels/statsmodels 主页。
Scikit-Learn 程序包的功能如下。
(1) 所有模型提供的接口有: model.fit(), 训练模型, 对于监督模型来说是 $f i t(X, y)$, 对 于非监督模型是 $f i t(X)$ 。
(2)监督模型提供的接口有 : (1) model. predict(X_new), 预测新样本; (2) model. predict_proba(X_new), 预测概率, 仅对某些监督模型有用 (比如 LR); (3) model. score(), 得分越高, fit 越好。
(3)非监督模型提供的接口有:(1) model.transform(), 从数据中学到新的“基空间”; (2) model.fit_transform(), 从数据中学到新的基并将这个数据按照这组“基”进行转换。
虽然 Scikit-Learn 足够强大, 但是它并没有包含一种强大的模型一人工神经网络。 在语言处理、图像识别等领域有着重要的作用。
参考资料: